Skip to content

Comments

Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.2#8

Open
dependabot[bot] wants to merge 1 commit intoMainfrom
dependabot/go_modules/github.com/golang-jwt/jwt/v4-4.5.2
Open

Bump github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.2#8
dependabot[bot] wants to merge 1 commit intoMainfrom
dependabot/go_modules/github.com/golang-jwt/jwt/v4-4.5.2

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Apr 8, 2025

Bumps github.com/golang-jwt/jwt/v4 from 4.5.0 to 4.5.2.

Release notes

Sourced from github.com/golang-jwt/jwt/v4's releases.

v4.5.2

See GHSA-mh63-6h87-95cp

Full Changelog: golang-jwt/jwt@v4.5.1...v4.5.2

v4.5.1

Security

Unclear documentation of the error behavior in ParseWithClaims in <= 4.5.0 could lead to situation where users are potentially not checking errors in the way they should be. Especially, if a token is both expired and invalid, the errors returned by ParseWithClaims return both error codes. If users only check for the jwt.ErrTokenExpired using error.Is, they will ignore the embedded jwt.ErrTokenSignatureInvalid and thus potentially accept invalid tokens.

This issue was documented in GHSA-29wx-vh33-7x7r and fixed in this release.

Note: v5 was not affected by this issue. So upgrading to this release version is also recommended.

What's Changed

  • Back-ported error-handling logic in ParseWithClaims from v5 branch. This fixes GHSA-29wx-vh33-7x7r.

Full Changelog: golang-jwt/jwt@v4.5.0...v4.5.1

Commits

Dependabot compatibility score

You can trigger a rebase of this PR by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    You can disable automated security fix PRs for this repo from the Security Alerts page.

Summary by Sourcery

Bug Fixes:

  • Fixes a security issue with error handling in ParseWithClaims method that could potentially allow accepting invalid tokens

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot bot added dependencies Pull requests that update a dependency file go Pull requests that update go code labels Apr 8, 2025
@sourcery-ai
Copy link

sourcery-ai bot commented Apr 8, 2025

Reviewer's Guide by Sourcery

This pull request bumps the github.com/golang-jwt/jwt/v4 module from version 4.5.0 to 4.5.2. This update addresses a security vulnerability (GHSA-29wx-vh33-7x7r) related to error handling in the ParseWithClaims function, where the function could potentially not check errors in the way they should be. The module versions in go.mod and go.sum have been updated accordingly.

Sequence diagram for ParseWithClaims error handling (v4.5.1+)

sequenceDiagram
  participant User
  participant Server
  participant JWT Library

  User->>Server: Sends request with JWT
  Server->>JWT Library: ParseWithClaims(token, claims, key)
  alt Token is expired AND invalid
    JWT Library->>JWT Library: Returns ErrTokenExpired and ErrTokenSignatureInvalid
    Server->>Server: Checks for both ErrTokenExpired and ErrTokenSignatureInvalid
    alt Both errors are present
      Server->>User: Returns 401 Unauthorized
    else Only ErrTokenExpired is present
      Server->>User: Returns 401 Unauthorized
    end
  else Token is valid
    JWT Library->>Server: Returns claims
    Server->>Server: Processes claims
    Server->>User: Returns 200 OK
  end
Loading

File-Level Changes

Change Details Files
Bumped the version of the github.com/golang-jwt/jwt/v4 module from 4.5.0 to 4.5.2. This resolves a security vulnerability related to error handling in the ParseWithClaims function.
  • Updated the github.com/golang-jwt/jwt/v4 module version in go.mod.
  • Updated the github.com/golang-jwt/jwt/v4 module checksum in go.sum.
go.mod
go.sum

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!
  • Generate a plan of action for an issue: Comment @sourcery-ai plan on
    an issue to generate a plan of action for it.

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

Copy link

@sourcery-ai sourcery-ai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We have skipped reviewing this pull request. It seems to have been created by a bot (hey, dependabot[bot]!). We assume it knows what it's doing!

Bumps [github.com/golang-jwt/jwt/v4](https://github.com/golang-jwt/jwt) from 4.5.0 to 4.5.2.
- [Release notes](https://github.com/golang-jwt/jwt/releases)
- [Changelog](https://github.com/golang-jwt/jwt/blob/main/VERSION_HISTORY.md)
- [Commits](golang-jwt/jwt@v4.5.0...v4.5.2)

---
updated-dependencies:
- dependency-name: github.com/golang-jwt/jwt/v4
  dependency-version: 4.5.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file go Pull requests that update go code

Projects

Development

Successfully merging this pull request may close these issues.

0 participants